package com.ktjiaoyu.crm.service;

import com.ktjiaoyu.crm.entity.Right;
import com.ktjiaoyu.crm.entity.Role;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;

/**
 *
 * @author Administrator
 */
public interface IRoleService {
    /**
     * 查询所有角色
     * @return 角色list集合
     */
    public List<Role>  findAllRoles();

    /**
     * 分页查询
     * @param roleName 角色名称
     * @param pageable 分页条件
     * @return Page<Role>
     */
    public Page<Role> findRoles(String roleName, Pageable pageable);

    /**
     * 获取所有权限
     * @return 权限
     */
    public List<Right> findAllRights();

    /**
     * 保存
     * @param role 角色
     * @return 1 or 0
     */
    public void saveRole(Role role);

    /**
     * 获取角色信息
     * @param roleId 角色Id
     * @return 角色
     */
    public Role getRole(Long roleId);

    /**
     * 获取用户-->角色-->权限
     * @param role 角色
     * @return 权限
     */
    public List<Right> findRightsByRole(Role role);

    /**
     * 删除角色
     * @param roleId 角色id
     */
    public void delRole(Long roleId);
}
